Network connected devices often contain software that occasionally needs to be updated. For example, in vehicles, an electronic control unit (ECU) controls a system or subsystem of the vehicle, and may occasionally need firmware or software updates.
However, in many cases, such network connected devices may not have a graphical user interface to provide for the initiation of an update, nor is there any mechanism to provide feedback as to the status of an update.
Further, in many cases, it is undesirable to push an update to such network connected device at a random time. For example, it would be dangerous to push an update to a braking system in a vehicle while the vehicle is in operation. Even if the vehicle is stopped or if the engine is off, in some cases it may not be an appropriate time to make an update. For example, a vehicle may be at a weighing station or fueling station, and the pushing of the update may prevent the vehicle from leaving such station for an extended period of time, delaying other vehicles from being serviced at such station.